Query String
Query String হলো একটি URL parameter যা ওয়েব পেজের সাথে অতিরিক্ত তথ্য পাঠানোর জন্য ব্যবহৃত হয়। এটি মূলত URL এর শেষে যুক্ত হয় এবং ব্যবহারকারী বা সার্ভার এর মধ্যে তথ্য আদান-প্রদান করার জন্য একটি সাধারণ পদ্ধতি।
Query String এর বৈশিষ্ট্য
URL এর অংশ হিসেবে থাকে: Query string সাধারণত URL এর শেষে আসে, যার মধ্যে একটি প্রশ্নচিহ্ন (?) দিয়ে শুরুর পর বিভিন্ন প্যারামিটার (key-value pair) থাকে। উদাহরণস্বরূপ:
https://example.com/page.aspx?userId=123&name=Johnএখানে,
userId=123এবংname=Johnহল দুটি প্যারামিটার যা ওয়েব পেজে পাঠানো হচ্ছে।- পাবলিক এবং দৃশ্যমান: Query string এর তথ্য URL এর মধ্যে থাকে, তাই এটি ব্রাউজারের অ্যাড্রেস বারে দৃশ্যমান থাকে এবং ব্যবহারকারী সহজেই দেখতে পারে।
একাধিক প্যারামিটার সমর্থন করে: একাধিক তথ্য পাঠানোর জন্য বিভিন্ন প্যারামিটার
&দ্বারা পৃথক করা হয়। উদাহরণস্বরূপ:https://example.com/page.aspx?userId=123&name=John&role=admin- সংক্ষেপিত তথ্য: সাধারণত ছোট পরিমাণ তথ্য পাঠাতে Query String ব্যবহৃত হয়, কারণ এর মাধ্যমে পাঠানো তথ্য URL-এ থাকা কারণে সীমাবদ্ধ থাকে।
Query String এর ব্যবহার
- পেজ নেভিগেশন: Query String ব্যবহার করে আপনি একটি পেজ থেকে অন্য পেজে তথ্য পাঠাতে পারেন। উদাহরণস্বরূপ, ব্যবহারকারীর প্রোফাইল পেজে যাওয়ার জন্য
userIdপাঠানো হতে পারে। - ফিল্টারিং এবং সার্চিং: ওয়েব অ্যাপ্লিকেশনে search বা filter অপশন তৈরির সময়, ব্যবহারকারীর ইনপুট ডেটা (যেমন সার্চ কিওয়ারি) Query String এর মাধ্যমে পরবর্তী পেজে পাঠানো যায়।
- স্টেট সংরক্ষণ: Query String এর মাধ্যমে ওয়েব অ্যাপ্লিকেশনের মধ্যে অস্থায়ী ডেটা সংরক্ষণ করা যায়।
Query String এর সীমাবদ্ধতা
- নিরাপত্তার অভাব: Query String এর তথ্য URL তে দৃশ্যমান থাকে, যা নিরাপত্তা ঝুঁকি তৈরি করতে পারে। বিশেষত, Sensitive Data (যেমন পাসওয়ার্ড) Query String এর মাধ্যমে পাঠানো উচিত নয়।
- অল্প পরিমাণ ডেটা: URL-এর দৈর্ঘ্য সীমিত, তাই Query String এর মাধ্যমে পাঠানো তথ্যের পরিমাণ খুব বেশি হতে পারে না। সাধারণত 2048 ক্যারেকটার পর্যন্ত URL দৈর্ঘ্য সীমাবদ্ধ থাকে।
- দৃশ্যমানতা: যেহেতু Query String ব্রাউজারে দৃশ্যমান থাকে, এটি ব্যবহারকারী বা তৃতীয় পক্ষের দ্বারা দেখতে পারে, যা গোপনীয়তা সংক্রান্ত সমস্যা তৈরি করতে পারে।
Hidden Field
Hidden Field একটি HTML form element যা ব্যবহারকারীকে দৃশ্যমান না করলেও ওয়েব পেজে ডেটা পাঠাতে ব্যবহৃত হয়। এটি সাধারণত ফর্মের অংশ হিসেবে ব্যবহৃত হয়, যেখানে তথ্য ব্যবহারকারীকে দেখানো না হলেও সার্ভারে প্রেরণ করতে হয়।
Hidden Field এর বৈশিষ্ট্য
দৃশ্যমান নয়: Hidden Field ব্যবহারকারীকে কোনো ভিজ্যুয়াল উপাদান প্রদান না করলেও, এটি ফর্মের মধ্যে লুকানো থাকে। উদাহরণস্বরূপ:
<input type="hidden" name="userId" value="123" />- ফর্ম ডেটা হিসেবে প্রেরণ: Hidden Field-এর মাধ্যমে তথ্য ফর্মের মাধ্যমে সার্ভারে পাঠানো যায়, তবে এটি ব্যবহারকারীর জন্য দৃশ্যমান থাকে না। এটি সাধারণত form submission এর অংশ হিসেবে ব্যবহৃত হয়।
- কোনো ইন্টারফেস নেই: এটি ব্যবহারকারী ইন্টারঅ্যাকশন ছাড়াই শুধুমাত্র ডেটা ধারন করে, যা পরে সার্ভারে প্রসেস করা হয়।
Hidden Field এর ব্যবহার
- স্টেট সংরক্ষণ: Hidden Field ব্যবহার করে ওয়েব অ্যাপ্লিকেশনে ইউজারের ডেটা স্টোর করা যায়, যেমন ব্যবহারকারীর আইডি, প্রোফাইল স্ট্যাটাস বা কোনো সেশন ইনফরমেশন।
- পেজের মধ্যে তথ্য রাখার জন্য: বিশেষভাবে ফর্ম ডেটা যেমন ব্যবহারকারীর নির্বাচিত অপশন, সাবমিট করা ডেটা বা অ্যাপ্লিকেশন সম্পর্কিত কোনো স্টেট ফর্মের মাধ্যমে পাঠানোর জন্য এটি ব্যবহৃত হয়।
- নিরাপত্তা জন্য কিছু তথ্য সংরক্ষণ: যখন কিছু স্টেট বা তথ্য ওয়েব পেজে রাখা দরকার, কিন্তু ব্যবহারকারীর সামনে প্রকাশ করা উচিত নয়, তখন Hidden Field ব্যবহার করা হয়।
Hidden Field এর সীমাবদ্ধতা
- নিরাপত্তা ঝুঁকি: Hidden Field ডেটা ক্লায়েন্ট সাইডে থাকে, অর্থাৎ এটি ব্রাউজারের ডেভেলপার টুলসের মাধ্যমে দেখতে পাওয়া যায়। তাই এটি নিরাপত্তার জন্য ঝুঁকিপূর্ণ হতে পারে, যদি এতে Sensitive Information রাখা হয়।
- ভুল ব্যবহার: যখন Hidden Field ব্যবহার করা হয়, তখন ভুল করে এটি পরিবর্তন করা বা ক্ষতি করা সম্ভব, কারণ এটি দৃশ্যমান না হলেও ফর্ম ডেটার অংশ হিসেবে সার্ভারে প্রেরিত হয়।
Query String এবং Hidden Field এর মধ্যে পার্থক্য
| বৈশিষ্ট্য | Query String | Hidden Field |
|---|---|---|
| দৃশ্যমানতা | URL তে দৃশ্যমান | ব্যবহারকারী দেখতে পায় না, তবে ফর্মের মধ্যে থাকে |
| তথ্য নিরাপত্তা | নিরাপত্তা ঝুঁকি, কারণ তথ্য URL তে দৃশ্যমান | ফর্মের অংশ হলেও ডেটা সহজে পরিবর্তনযোগ্য, তবে URL তে নয় |
| তথ্য স্টোরেজ | অল্প পরিমাণ ডেটা পাঠানো সম্ভব | ছোট পরিমাণ তথ্য শুধুমাত্র ফর্মের মধ্যে স্টোর করা যায় |
| প্রধান ব্যবহার | পেজ নেভিগেশন, সার্চিং, ফিল্টারিং | স্টেট সংরক্ষণ, সার্ভারে ডেটা পাঠানো |
সারাংশ
Query String এবং Hidden Field উভয়ই ওয়েব অ্যাপ্লিকেশনে তথ্য পাঠানোর উপায়, তবে তাদের ব্যবহারের উদ্দেশ্য এবং নিরাপত্তা প্রেক্ষিতে পার্থক্য রয়েছে। Query String URL তে তথ্য প্রদর্শন করে এবং Hidden Field ফর্মে লুকানো তথ্য পাঠাতে ব্যবহৃত হয়। নিরাপত্তার জন্য Sensitive Data কখনোই Query String বা Hidden Field এর মাধ্যমে পাঠানো উচিত নয়।
Read more